// import { TargetDetailDataCategoryEnum, TargetDetailSummaryCategoryEnum } from '@/constants/enum';

/**
 * 碳资产账户列表 返回数据
 */
export interface GetAccountListResult {
  /**
   * 资产编号
   */
  assetNo: string;
  /**
   * 资产单位
   */
  assetDepartment: string;
  /**
   * 碳配额
   */
  carbonQuota: number;
  /**
   * 碳减排
   */
  carbonReduction: number;
  /**
   * 碳普惠
   */
  carbonInclusive: number;
  /**
   * 配额年份
   */
  quotaYear: string;
  /**
   * 可用额度
   */
  availableCredit: number;
  /**
   * 备注
   */
  remark: string;
  /**
   * 账户类型，MASTER：主账户；SUB：子账户（20240606改动）
   */
  assetAccountType: 'MASTER' | 'SUB';
  /**
   * 组织code
   */
  organizationCode: string;
  /**
   * 子账户列表（20240606改动）
   */
  subAccountList?: GetAccountListResult[];
}

/**
 * 获取资产单位年剩余额度 返回数据
 */
export interface GetAllowanceByYearResult {
  year: string;
  carbonQuota: number;
}

/**
 * 新建交易登记 入参
 */
export interface CreateCarbonTransactionParams {
  // 资产编号
  assetNo: string;
  // 交易方向
  transactionType: string;
  // 资产类别
  assetType: string;
  // 交易日期
  transactionDate: string;
  // 交易量
  transactionNumber: number;
  // 可用量
  availableQuantity: number;
  // 交易单价
  transactionPrice: number;
  // 	交易手续费
  transactionCost: number;
  // 交易总金额
  transactionTotalAmount: number;
  // 备注
  remark: string;
}

/**
 * 碳账户变动记录 请求参数
 */
export interface GetAccountChangeRecordParams {
  /**
   * 编号
   */
  assetNo: string;
}

/**
 * 碳账户变动记录 返回数据
 */
export interface GetAccountChangeRecordResult {
  // id
  id: string;
  // 交易编号
  transactionNo: string;
  // 资产编号
  assetNo: string;
  // 排放单位
  transactionDepartment: string;
  // 交易方向
  transactionType: string;
  // 资产类别
  assetType: string;
  // 交易日期
  transactionDate: string;
  // 交易量
  transactionNumber: number;
  // 可用量
  availableQuantity: number;
  // 交易单价
  transactionPrice: number;
  // 	交易手续费
  transactionCost: number;
  // 交易总金额
  transactionTotalAmount: number;
  // 备注
  remark: string;
}

/**
 * 添加子账户 入参
 */
export interface CreateAssetsSubAccountParams {
  /**
   * 主账户编号
   */
  assetMasterAccountNo: string;
  /**
   * 子账户组织Code
   */
  accountOrgCode: string;
  /**
   * 子账户名称，默认组织名称
   */
  accountName: string;
}
